package com.agileboot.domain.airport.reform.db;

import com.agileboot.common.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

@Getter
@Setter
@TableName("sir_reform_main")
@ApiModel(value = "SirReformMainEntity对象", description = "整改主表")
public class SirReformMainEntity extends BaseEntity<SirReformMainEntity> {

    @ApiModelProperty("整改通知书主键")
    @TableId(value = "reform_id", type = IdType.INPUT)
    private Long reformId;

    @ApiModelProperty("编号")
    private String code;

    @ApiModelProperty("关联的问题主键")
    private Long relatedQuestionId;

    @ApiModelProperty("问题来源")
    private String questionSourceName;

    @ApiModelProperty("检查日期")
    private Date checkDate;

    @ApiModelProperty("督查员")
    private String inspectors;

    @ApiModelProperty("下发日期")
    private Date issueDate;

    @ApiModelProperty("要求反馈日期")
    private Date requestFeedbackDate;

    @ApiModelProperty("关联问题")
    private String questionTitle;

    @ApiModelProperty("通知书标题")
    private String reformTitle;

    @ApiModelProperty("督查部门")
    private Long issueDeptId;

    @ApiModelProperty("责任部门")
    private Long dutyDeptId;

    @ApiModelProperty("当前部门")
    private Long curDealDeptId;

    @ApiModelProperty("整改要求")
    private String reformRequirement;

    @ApiModelProperty("是否要求分析原因")
    private String requireDefineCause;

    @ApiModelProperty("是否要求指定措施")
    private String requireDefineAction;

    @ApiModelProperty("原因评估者")
    private String causeEvalerName;

    @ApiModelProperty("原因评估时间")
    private Date causeEvalTime;

    @ApiModelProperty("纠正措施预计完成期限")
    private Date correctiveDeadline;

    @ApiModelProperty("预防措施预计完成期限")
    private Date precautionDeadline;

    @ApiModelProperty("措施制定人")
    private String actionMakerName;

    @ApiModelProperty("措施制定时间")
    private Date actionMakeTime;

    @ApiModelProperty("措施是否通过")
    private String actionIsOk;

    @ApiModelProperty("措施评估")
    private String actionEval;

    @ApiModelProperty("措施评估者")
    private String actionEvalerName;

    @ApiModelProperty("措施评估时间")
    private Date actionEvalTime;

    @ApiModelProperty("纠正措施证据上传人")
    private String correctiveActionProofUploaderName;

    private Date correctiveActionProofUploadTime;

    private String correctiveActionProofEvalIsOk;

    private String correctiveActionProofEvalerName;

    private Date correctiveActionProofEvalTime;

    private String precautionActionProofUploaderName;

    private Date precautionActionProofUploadTime;

    private String precautionActionProofEvalIsOk;

    private String precautionActionProofEvalerName;

    private Date precautionActionProofEvalTime;

    @ApiModelProperty("证据是否通过")
    private String proofEvalIsOk;

    private String proofEvalerName;

    private Date proofEvalTime;

    @ApiModelProperty("当前状态")
    private String reformStatus;

    private String reformType;

    private Long relateId;

    private String relateCode;

    private String terminalType;

    private String isReport;

    private String isFile;

    private String createBy;

    private Date createTime;

    private String updateBy;

    private Date updateTime;

    private String requireDefineCauseRoot;

    private String requireDefineActionPre;

    private String isShareReport;


    private Long inspectionCheckId;

    private String basis;

    private String precautionAction;

    private String correctiveAction;

    @ApiModelProperty("直接原因")
    private String directCause;

    @ApiModelProperty("根本原因")
    private String rootCause;

    private Integer severity;

    private Integer possibility;

    private String rectificationOpinion;

    private String rectificationResult;


    @Override
    public Serializable pkVal() {
        return this.reformId;
    }
}
